#pragma once

#include <string>

#include <uv.h>

#include "uvo.h"
#include "loop.h"

namespace anb { namespace net {

class uvo_looped : public uvo {
public:
    uvo_looped(loop::ptr loop, const std::string& alias, type t);
    virtual ~uvo_looped();

	typedef boost::shared_ptr<uvo_looped> ptr;

protected:
    loop::ptr get_loop() const;

private:
    loop::ptr m_loop;
};

} }
